const http = require('http')
const fs = require('fs')
const path = require('path')
const url = require('url')
//引入模板
const template = require('art-template')
//定义数组 作为数据
var comments = [
    {
        name : '黄莹',
        message : '你太棒了吧！',
        dataTime : '2022-3-8'
    },
    {
        name : '张三',
        message : '天气不错哦！',
        dataTime : '2022-3-8'
    },
    {
        name : '李四',
        message : '你没事吧，你没事吧！',
        dataTime : '2022-3-8'
    },
    {
        name : '王五',
        message : '没事，就吃溜溜梅！',
        dataTime : '2022-3-8'
    },
    {
        name : '钱六',
        message : '啦啦啦啦啦啦！',
        dataTime : '2022-3-8'
    }
]

const server = http.createServer()

server.on('request',(req,res)=>{
    const obj = url.parse(req.url,true)
    var pathname = obj.pathname
    if(pathname === '/'){
        fs.readFile(path.join(__dirname,'/view/','index.html'),(err,data)=>{
            if(err){
                return res.end('读取文件失败了')
            }
           //res.end(data)
           const htmlStr = template.render(data.toString(),{
           comments : comments
           })
            res.end(htmlStr)
        })
          
    }else if(pathname === '/post') {
        fs.readFile(path.join(__dirname,'/view/','post.html'),(err,data)=>{
            if(err){
                return res.end('读取文件失败了')
            }
            res.end(data)
        })
        
    }else if(pathname.indexOf('/public/') === 0){
        fs.readFile('.' + pathname,(err,data)=>{
            if(err){
                return res.end('读取文件失败')
            }
            res.end(data)
        })
    }else if(pathname === '/pinglun'){
        // 1, 获取表单提交的数据
        // 2， 将当前时间日期添加数据中,然后存储到数组中
        // 3, 让用户重定向跳转到首页 /
        var message = obj.query
        message.dateTime = '2022-03-08'
        comments.push(message)

        // 零时重定向
        res.statusCode = 302
        res.setHeader('location','/')
        res.end()
        // res.redirect('/')
    }else{
        fs.readFile(path.join(__dirname,'/view/','404.html'),(err,data)=>{
            if(err){
                return res.end('读取文件失败了')
            }
            res.end(data)
        })
    }
})

server.listen(3000,()=>{
    console.log('http://127.0.0.1:3000')
})